import type { Setting, Tools } from './types.ts'

import { SetConfig } from '@wails/program/programfunc'
import { defineStore } from 'pinia';
import { ref } from 'vue';

// tools 工具
const tools = ref<Tools>({
  autoSelect: {
    flag: false, // 自动选择
    CLASSIC: [], // 经典模式
    ARAM: [], // 大乱斗
  },
  autoBanPick: {
    flag: false, // 自动bp
    ban: {
      global: [], // 默认ban
      top: [], // 上单ban
      jungle: [], // 打野ban
      mid: [], // 中路ban
      bot: [], // 下路ban
      support: [], // 辅助ban
    },
    pick: {
      global: [], // 默认ban
      top: [], // 上单ban
      jungle: [], // 打野ban
      mid: [], // 中路ban
      bot: [], // 下路ban
      support: [], // 辅助ban
    },
  },
})

const setting = ref<Setting>({
  autoAccept: true, // 自动接受对局
  autoAcceptDelay: 0,
})

// tools改变方法
function settingChange(row, needSetConfig = true) {
  setting.value = { ...setting.value, ...row }
  // 更新配置文件
  needSetConfig && SetConfig(JSON.stringify(setting.value))
}

export const useAppStore = defineStore('app', () => {
  return { tools, setting, settingChange };
});
